home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ShareWare OnLine 2
/
ShareWare OnLine Volume 2 (CMS Software)(1993).iso
/
games2
/
rotise12.zip
/
REALP.C
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-03
|
4KB
|
158 lines
/* realp.c
Jonathan Arnold 1991
Handle all the real player manipulations, like:
hide - remove player from free agent list
status - assign playing status to a player
*/
#include <string.h>
#include "rotise.h"
/* External data referenced */
extern CMDLIST CmdTable[]; /* cmdtable.c */
extern int Cmd; /* rotise.c */
extern int InputLine; /* Line # of current file */
extern BOOL Verbose; /* How talkative to be */
extern char *InputFilename; /* Filename being read */
extern RDB_TEAM *RotoTeams; /* roster.c - First team in list */
extern int Weeks; /* stenog.c - How many intervals read in */
extern char IntvDate[MAX_DATE+1]; /* Date string for current interval */
/* External routines used */
/* NONE */
/* Local data publicly available */
/* NONE */
/* Local routine prototypes */
BOOL hide PROTO( ( int tokcnt, char *tokens[] ) );
BOOL status PROTO( ( int tokcnt, char *tokens[] ) );
/* Private data */
/* NONE */
/*
BOOL hide( int tokcnt, char *tokens[] )
Remove a player from the free agent list.
ACCEPTS:
int tokcnt - how many tokens on this line
char *tokens[] - array pointing to each token
RETURNS:
BOOL <value> - TRUE if everything was okay, FALSE if things really aren't
*/
#define ARG_HID_PK1 1 /* Player Key 1 - lastname */
#define ARG_HID_PK2 2 /* Player key 2 - firstname */
BOOL hide ARGLIST( (tokcnt, tokens) )
NFARG( int tokcnt )
FARG( char *tokens[] )
{
PDATA *pdata;
if ( tokcnt < ARG_HID_PK2 )
ARGCNT_ERR();
pdata = pdb_pdata( tokens[ARG_HID_PK1], tokens[ARG_HID_PK2], TRUE );
if ( pdata == NULL )
{ /* no batter, check pitcher */
pdata = pdb_pdata( tokens[ARG_HID_PK1], tokens[ARG_HID_PK2], FALSE );
if ( pdata == NULL )
{ /* still no player, so complain */
rdb_error( "Hide - Player not found: ", tokens[ARG_HID_PK1] );
return TRUE;
}
}
pdata->zorch = PLAYER_HIDDEN;
return TRUE;
}
/*
BOOL status( int tokcnt, char *tokens[] )
Give (or remove) player status string.
ACCEPTS:
int tokcnt - how many tokens on this line
char *tokens[] - array pointing to each token
RETURNS:
BOOL <value> - TRUE if everything was okay, FALSE if things really aren't
*/
#define ARG_STS_PK1 1 /* Player key 1 - last name */
#define ARG_STS_PK2 2 /* Player key 2 - first initial */
#define ARG_STS_SWORD 3 /* Optional Stat word */
#define ARG_STS_DATE 4 /* Optional Date */
BOOL status ARGLIST( (tokcnt, tokens) )
NFARG( int tokcnt )
FARG( char *tokens[] )
{
PDATA *pdata;
if ( tokcnt < ARG_STS_SWORD )
ARGCNT_ERR();
pdata = pdb_pdata( tokens[ARG_STS_PK1], tokens[ARG_STS_PK2], TRUE );
if ( pdata == NULL )
{ /* no batter, check pitcher */
pdata = pdb_pdata( tokens[ARG_STS_PK1], tokens[ARG_STS_PK2], FALSE );
if ( pdata == NULL )
{ /* still no player, so complain */
rdb_error( "Status - Player not found: ", tokens[ARG_STS_PK1] );
return TRUE;
}
}
VERBOSE( 5, "Status for %s: ", tokens[ARG_STS_PK1] );
VERBOSE( 5, "%s.\n", tokens[ARG_STS_SWORD] );
if ( tokcnt > ARG_STS_SWORD )
{ /* given a status word */
if ( strlen( tokens[ARG_STS_SWORD] ) > 4 )
{ /* too big */
rdb_error( "Status - Truncating status word: ", tokens[ARG_STS_SWORD] );
tokens[ARG_STS_SWORD][4] = '\0';
}
strcpy( pdata->status, tokens[ARG_STS_SWORD] );
if ( tokcnt > ARG_STS_DATE )
{ /* given a date too */
if ( strlen( tokens[ARG_STS_DATE] ) > MAX_DATE )
{ /* too big tho */
rdb_error( "Status - Truncating date string: ", tokens[ARG_STS_DATE] );
tokens[ARG_STS_DATE][MAX_DATE] = '\0';
}
strcpy( pdata->date, tokens[ARG_STS_DATE] );
}
else
{ /* use interval date */
strcpy( pdata->date, IntvDate );
}
}
else
{ /* clear status and date */
memset( pdata->status, 0, 5 );
memset( pdata->date, 0, MAX_DATE );
}
VERBOSE( 6, "Set status of %s to ", tokens[ARG_STS_PK1] );
VERBOSE( 6, " to %s on ", pdata->status );
VERBOSE( 6, "%s.\n", pdata->date );
return TRUE;
}